package com.ydzh.kfqgwvisitor.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 访客信息表
 * </p>
 *
 * @author zcj
 * @since 2021-09-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "VisitorDTO对象", description = "访客信息填报 ")
public class VisitorVO implements Serializable {

    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "身份证号码")
    @NotBlank(message = "身份证号码不能为空")
    private String idCardNo;

    @ApiModelProperty(value = "访客姓名")
    @NotBlank(message = "访客姓名不能为空")
    private String visitorName;

    @ApiModelProperty(value = "访客性别 1男2女")
    @NotBlank(message = "访客性别不能为空")
    private String sex;

    @ApiModelProperty(value = "访客联系电话")
    @NotBlank(message = "访客联系电话不能为空")
    private String phoneNo;

    @ApiModelProperty(value = "来访人车牌号")
    @NotBlank(message = "来访人车牌号不能为空")
    private String vehicleNo;

    @ApiModelProperty(value = "来访人住址")
    @NotBlank(message = "来访人住址不能为空")
    private String address;

    @ApiModelProperty(value = "来访人街道门牌地址")
    @NotBlank(message = "来访人街道门牌地址不能为空")
    private String specificAddress;

    @ApiModelProperty(value = "预约开始时间")
    @NotNull(message = "预约开始时间不能为空")
    private LocalDateTime appointmentStartTime;

    @ApiModelProperty(value = "预约结束时间")
    @NotNull(message = "预约结束时间不能为空")
    private LocalDateTime appointmentEndTime;

    @ApiModelProperty(value = "来访事由")
    @NotBlank(message = "来访事由不能为空")
    private String reasonForVisit;

    @ApiModelProperty(value = "预约成功或者失败 1成功 0失败")
    @NotBlank(message = "预约成功或者失败不能为空")
    private String state;

    @ApiModelProperty(value = "被访人ID")
    @NotNull(message = "被访人不能为空")
    private Long bevisitorId;

    @ApiModelProperty(value = "被访单位ID")
    @NotNull(message = "被访单位不能为空")
    private Long beunitId;

    @ApiModelProperty(value = "被访人部门ID")
    @NotNull(message = "被访人部门不能为空")
    private Long bedepartmentId;

    @ApiModelProperty(value = "身份证照片")
    @NotBlank(message = "身份证照片不能为空")
    private String idCardImg;

    @ApiModelProperty(value = "访客照片")
    @NotBlank(message = "访客照片不能为空")
    private String visitorImg;

    @ApiModelProperty(value = "省")
    @NotBlank(message = "省不能为空")
    private String province;

    @ApiModelProperty(value = "市")
    @NotBlank(message = "市不能为空")
    private String city;

    @ApiModelProperty(value = "区")
    @NotBlank(message = "区不能为空")
    private String region;

    @ApiModelProperty(value = "被访人")
    private String bevisitorName;

    @ApiModelProperty(value = "被访单位")
    private String beunitName;

    @ApiModelProperty(value = "被访问部门")
    private String bedepartmentName;


    @ApiModelProperty(value = "同行人员信息")
    private List<PeerPeopleVO> peerPeopleList;
}
